package com.xu.cloud.common.util;

import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.Objects;

/**
 * 文件工具类
 *
 * @author xuguan
 * @since 2025/3/24
 */
@SuppressWarnings({"ResultOfMethodCallIgnored"})
public class FileUtil {

    /**
     * 创建文件, 如果存在直接返回
     */
    public static File touch(String filePath) {
        File file = new File(filePath);
        if (file.exists()) {
            return file;
        }
        final File dir = file.getParentFile();
        if (Objects.nonNull(dir) && !dir.exists()) {
            dir.mkdirs();
        }

        try {
            file.createNewFile();
            // 保证UTF-8编码
            Files.write(file.toPath(), "".getBytes(StandardCharsets.UTF_8));
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return file;
    }
}
